home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / CPlusPlus / FocusMod.xh < prev    next >
Encoding:
Text File  |  1994-04-19  |  6.1 KB  |  248 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:CPlusPlus:FocusMod.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emitxh.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Classes defined in this interface
  13.  * 
  14.  */
  15.  
  16.  
  17. #ifndef SOM_ODFocusModule_xh
  18. #define SOM_ODFocusModule_xh
  19.  
  20. class ODFocusModule;
  21.  
  22. #define ODFocusModule_MajorVersion 0
  23. #define ODFocusModule_MinorVersion 0
  24.  
  25. /* C++ som defs */
  26. #include <somcls.xh>
  27.  
  28. /* Include C++ parent defs */
  29. #ifndef SOM_ODObject_xh
  30. #include <ODObject.xh>
  31. #endif
  32.  
  33. #ifndef ODFocusModule_API
  34. #define ODFocusModule_API
  35. /*
  36.  * -- The Class API
  37.  */
  38.  
  39. /*
  40.  * Start of user-defined types:
  41.  */
  42. class ODExtension;
  43. class ODSession;
  44. class ODFocusOwnerIterator;
  45. class ODFrame;
  46.  
  47. /*
  48.  * End of user-defined types.
  49.  */
  50.  
  51. #if applec ^ PRAGMA_LIB_EXPORT
  52. #pragma lib_export on
  53. #endif
  54.  
  55.  
  56. /* A procedure to create the ODFocusModule Class */
  57. SOMEXTERN SOMClass * SOMLINK ODFocusModuleNewClass(
  58.         integer4 majorVersion,
  59.         integer4 minorVersion);
  60.  
  61. /* The API to the ODFocusModule class object, and the methods it introduces. */
  62. typedef struct ODFocusModuleClassDataStructure {
  63.     SOMClass *classObject;
  64.     somMToken InitFocusModule;
  65.     somMToken IsFocusExclusive;
  66.     somMToken SetFocusOwnership;
  67.     somMToken UnsetFocusOwnership;
  68.     somMToken GetFocusOwner;
  69.     somMToken CreateOwnerIterator;
  70.     somMToken BeginRelinquishFocus;
  71.     somMToken CommitRelinquishFocus;
  72.     somMToken AbortRelinquishFocus;
  73. } ODFocusModuleClassDataStructure;
  74. #ifdef SOM_NO_DATA_EXPORTS
  75.    SOMEXTERN ODFocusModuleClassDataStructure * ODFocusModuleGetClassData ( void );
  76. #   undef ODFocusModuleClassData
  77. #   define ODFocusModuleClassData (*ODFocusModuleGetClassData())
  78. #else
  79.    SOMEXTERN ODFocusModuleClassDataStructure ODFocusModuleClassData;
  80. #endif /* SOM_NO_DATA_EXPORTS */
  81.  
  82. #if applec ^ PRAGMA_LIB_EXPORT
  83. #pragma lib_export off
  84. #endif
  85.  
  86. #define _ODFocusModule ODFocusModuleClassData.classObject
  87.  
  88. /* The API to parentMtabs for ODFocusModule, and the instance data it introduces. */
  89. SOMEXTERN struct ODFocusModuleCClassDataStructure {
  90.     somMethodTabs parentMtab;
  91.     somDToken instanceDataToken;
  92. } ODFocusModuleCClassData;
  93.  
  94. /*
  95.  * -- Typedefs for Procedures that support Methods introduced by ODFocusModule
  96.  */
  97. SOMEXTERN {
  98. typedef void   (* SOMLINK somTD_ODFocusModule_InitFocusModule)(ODFocusModule *somSelf, Environment *ev,
  99.         ODSession* session);
  100. typedef ODBoolean   (* SOMLINK somTD_ODFocusModule_IsFocusExclusive)(ODFocusModule *somSelf, Environment *ev,
  101.         ODTypeToken focus);
  102. typedef void   (* SOMLINK somTD_ODFocusModule_SetFocusOwnership)(ODFocusModule *somSelf, Environment *ev,
  103.         ODTypeToken focus,
  104.         ODFrame* frame);
  105. typedef void   (* SOMLINK somTD_ODFocusModule_UnsetFocusOwnership)(ODFocusModule *somSelf, Environment *ev,
  106.         ODTypeToken focus,
  107.         ODFrame* frame);
  108. typedef ODFrame*   (* SOMLINK somTD_ODFocusModule_GetFocusOwner)(ODFocusModule *somSelf, Environment *ev,
  109.         ODTypeToken focus);
  110. typedef ODFocusOwnerIterator*   (* SOMLINK somTD_ODFocusModule_CreateOwnerIterator)(ODFocusModule *somSelf, Environment *ev,
  111.         ODTypeToken focus);
  112. typedef ODBoolean   (* SOMLINK somTD_ODFocusModule_BeginRelinquishFocus)(ODFocusModule *somSelf, Environment *ev,
  113.         ODTypeToken focus,
  114.         ODFrame* requestingFrame);
  115. typedef void   (* SOMLINK somTD_ODFocusModule_CommitRelinquishFocus)(ODFocusModule *somSelf, Environment *ev,
  116.         ODTypeToken focus,
  117.         ODFrame* requestingFrame);
  118. typedef void   (* SOMLINK somTD_ODFocusModule_AbortRelinquishFocus)(ODFocusModule *somSelf, Environment *ev,
  119.         ODTypeToken focus,
  120.         ODFrame* requestingFrame);
  121. }
  122.  
  123. #endif /* ODFocusModule_API */
  124.  
  125.  
  126. /*
  127.  * -- Method Tokens are Thunks
  128.  */
  129. #undef somresolve_
  130. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  131.  
  132. /*
  133.  * -- The C++ Wrapper Class for ODFocusModule
  134.  */
  135. class ODFocusModule : public ODObject
  136. {
  137. public:
  138.  
  139. void *operator new(size_t size)
  140. {
  141.    SOM_IgnoreWarning(size);
  142.    if (!ODFocusModuleClassData.classObject) 
  143.       ODFocusModuleNewClass(ODFocusModule_MajorVersion,ODFocusModule_MinorVersion);
  144.    return (void *)
  145.       ((somTD_SOMClass_somNew)
  146.       somresolve_((SOMObject *)((void*)(ODFocusModuleClassData.classObject)),
  147.                  SOMClassClassData.somNew))
  148.          ((SOMClass *)((void*)(ODFocusModuleClassData.classObject)));
  149. }
  150.  
  151. void operator delete(void * obj)
  152. {
  153.    ((SOMObject *)obj)->somFree();
  154. }
  155.  
  156. /* public method: InitFocusModule */
  157. void   InitFocusModule(Environment *ev,
  158.         ODSession* session)
  159. {
  160.    SOM_Resolve(this,ODFocusModule,InitFocusModule)
  161.     (this,ev,session);
  162. }
  163.  
  164.  
  165. /* public method: IsFocusExclusive */
  166. ODBoolean   IsFocusExclusive(Environment *ev,
  167.         ODTypeToken focus)
  168. {
  169.    return SOM_Resolve(this,ODFocusModule,IsFocusExclusive)
  170.     (this,ev,focus);
  171. }
  172.  
  173.  
  174. /* public method: SetFocusOwnership */
  175. void   SetFocusOwnership(Environment *ev,
  176.         ODTypeToken focus,
  177.         ODFrame* frame)
  178. {
  179.    SOM_Resolve(this,ODFocusModule,SetFocusOwnership)
  180.     (this,ev,focus,frame);
  181. }
  182.  
  183.  
  184. /* public method: UnsetFocusOwnership */
  185. void   UnsetFocusOwnership(Environment *ev,
  186.         ODTypeToken focus,
  187.         ODFrame* frame)
  188. {
  189.    SOM_Resolve(this,ODFocusModule,UnsetFocusOwnership)
  190.     (this,ev,focus,frame);
  191. }
  192.  
  193.  
  194. /* public method: GetFocusOwner */
  195. ODFrame*   GetFocusOwner(Environment *ev,
  196.         ODTypeToken focus)
  197. {
  198.    return SOM_Resolve(this,ODFocusModule,GetFocusOwner)
  199.     (this,ev,focus);
  200. }
  201.  
  202.  
  203. /* public method: CreateOwnerIterator */
  204. ODFocusOwnerIterator*   CreateOwnerIterator(Environment *ev,
  205.         ODTypeToken focus)
  206. {
  207.    return SOM_Resolve(this,ODFocusModule,CreateOwnerIterator)
  208.     (this,ev,focus);
  209. }
  210.  
  211.  
  212. /* public method: BeginRelinquishFocus */
  213. ODBoolean   BeginRelinquishFocus(Environment *ev,
  214.         ODTypeToken focus,
  215.         ODFrame* requestingFrame)
  216. {
  217.    return SOM_Resolve(this,ODFocusModule,BeginRelinquishFocus)
  218.     (this,ev,focus,requestingFrame);
  219. }
  220.  
  221.  
  222. /* public method: CommitRelinquishFocus */
  223. void   CommitRelinquishFocus(Environment *ev,
  224.         ODTypeToken focus,
  225.         ODFrame* requestingFrame)
  226. {
  227.    SOM_Resolve(this,ODFocusModule,CommitRelinquishFocus)
  228.     (this,ev,focus,requestingFrame);
  229. }
  230.  
  231.  
  232. /* public method: AbortRelinquishFocus */
  233. void   AbortRelinquishFocus(Environment *ev,
  234.         ODTypeToken focus,
  235.         ODFrame* requestingFrame)
  236. {
  237.    SOM_Resolve(this,ODFocusModule,AbortRelinquishFocus)
  238.     (this,ev,focus,requestingFrame);
  239. }
  240.  
  241.  
  242.  
  243. };   /* ODFocusModule */
  244.  
  245.  
  246.  
  247. #endif       /* SOM_ODFocusModule_xh */
  248.